package com.supermarket.service;

import com.supermarket.dto.StockPageQueryDto;
import com.supermarket.entity.Stock;
import com.supermarket.utils.PageResult;

public interface StockService {

    /**
     * 分页查询库存列表
     */
    PageResult list(StockPageQueryDto stockPageQueryDto);

    /**
     * 根据ID查询库存
     */
    Stock getById(Long id);

    /**
     * 根据商品ID查询库存
     */
    Stock getByProductId(Long productId);

    /**
     * 新增库存
     */
    void save(Stock stock);

    /**
     * 更新库存
     */
    void update(Stock stock);

    /**
     * 删除库存
     */
    void delete(Long id);

    /**
     * 更新库存数量
     */
    void updateQuantity(Long id, Integer quantity);

    /**
     * 更新锁定库存数量
     */
    void updateLocked(Long id, Integer locked);
}